home *** CD-ROM | disk | FTP | other *** search
Wrap
/* ====================================================================== DESC: Common Alert Functions for the Administer/Analyze Operations PLATFORMS: >= MS IE 4.0 USAGE NOTES: ====================================================================== */ var GetMIBFlag = 0; var GotMIBData = false; var GetMIBBusy = false; function processGetMIBList(PF) { GetMIBFlag = PF; if ( PF == 0 && GotMIBData ) return; // ignore if already have data and just selecting the SNMP tab if ( GetMIBBusy ) return; SetButtonState(GetMIBButton, "1"); // disabled MIBObjectArr.length = 0; if ( top.banner.MIBObjectList.length > 0 && !PF ) { saveButtonState(); processMIBListResponse(top.banner.MIBObjectList); return; } rstat = RpmCC_AC.OidDefs("4","","~~"); if ( rstat ) { // if unable to initiate request MIBObjectArr[1] = "Error attempting to retrieve MIB Objects"; if ( PF ) { alert("Error attempting to retrieve MIB Objects"); } SetButtonState(GetMIBButton, "0"); // enabled } else { GetMIBBusy = true; SetCursor("wait"); top.banner.processStartComm(); top.Rstatus.Pstat("Moment please while MIBs are analyzed",true); saveButtonState(); } } var MIBObjectArr = new Array(); var MIBObjectCheckArr = new Array(); var UnsortedWarr = new Array(); function processMIBListResponse(ostrg) { top.banner.MIBObjectList = ostrg; // save it UnsortedWarr = ostrg.split("~"); if ( UnsortedWarr.length > 2 ) { UnsortedWarr[0] = ""; UnsortedWarr[UnsortedWarr.length-1] = "zzzzzzzzz"; // force as last after sorted MIBObjectArr = UnsortedWarr.sort(); } //Reset Object checked array for ( var i=0; i<MIBObjectArr.length; i++ ) { MIBObjectCheckArr[i] = "0"; } var GetOK = ( UnsortedWarr.length == 2 && UnsortedWarr[1].indexOf("MIB Processing Error",0) == 0 ) ? false : true; SetButtonState(GetMIBButton, "0"); // enabled top.Rstatus.Pstat("Done"); restoreButtonState(); GetMIBBusy = false; SetCursor("auto"); top.banner.processStopCommX(); if ( !GetOK ) { alert(UnsortedWarr[1]+"\n\nCorrect problem with the MIB or remove from the '...\Mibs' folder\nThen press the 'Reprocess' button to analyze the MIBs again"); } else if ( GetMIBFlag ) { alert("MIBs successfully processed!"); } if ( GetOK ) { if ( !GetMIBFlag && AC_SNMPEnabled.checked && ( CMode == "New" || CMode == "Edit") ) { SetButtonState(MIBObjectButton,"0"); } if ( AC_StoreArr.length > CurrentSelectedComputer+11 ) { var sarr = new Array(); sarr = AC_StoreArr[CurrentSelectedComputer+11].split(":!"); //Reset Object checked array if ( sarr.length >= 5 && CMode != "New" ) { var sarr1 = new Array(); sarr1 = sarr[1].split(";!"); // Now set the appropriate ones for ( var i=0; i<sarr1.length; i++ ) { for ( var j=1; j<MIBObjectArr.length-1; j++ ) { if ( sarr1[i] == MIBObjectArr[j] ) { MIBObjectCheckArr[j] = "1"; break; } } } displayMIBObjectChoices(); } } GotMIBData = true; } } function processMIBList() { if ( UnsortedWarr.length == 2 && UnsortedWarr[1].indexOf("MIB Processing Error",0) == 0 ) { alert(UnsortedWarr[1]+"\n\nCorrect problem with the Mib or remove from the '...\Mibs' folder\nThen press the 'Reprocess' button to analyze the MIBs again"); return; } PopUpOID.style.display = ""; AC_MIBSel.style.display = "none"; MIBTreeIndex = 1; OID_Data.innerHTML = ""; processMIBListContinue(); } function processMIBListContinue() { Tid = null; var CCEs = ""; var i = MIBTreeIndex; var loopcount = 0; for ( ; i<MIBObjectArr.length-1 && loopcount < 25; loopcount++, i++ ) { CCEs += "<table border='0' cellpadding='1' cellSpacing='0' width='460'><tr>"; CCEs += "<td width='10'></td><td width='11' align='center'><img id='oid_chk"+i; if ( MIBObjectCheckArr[i] == "1" ) { CCEs += "' checked='1' src='images/Checked.gif'"; } else { CCEs += "' checked='0' src='images/Unchecked.gif'"; } CCEs += "style='cursor:hand' onclick='procOIDCmpImgClick(this)' width='9' height='9'></td>"; CCEs += "<td width='*' id='oid_nme"+i; CCEs += "' style='cursor:hand' onclick='procOIDCmpImgClick(this)' class='optext'> " + MIBObjectArr[i]+"</td>"; CCEs += "</tr></table>"; } OID_Data.style.overflow = ( i > 15 ) ? "scroll" : ""; OID_Data.insertAdjacentHTML("beforeEnd",CCEs); MIBTreeIndex = i; if ( i < MIBObjectArr.length-1 ) { // continue if not done Tid = setTimeout("processMIBListContinue()",50); // delay 50 ms. then process Tree } } function processOID_OK() { PopUpOID.style.display = "none"; AC_MIBSel.style.display = ""; displayMIBObjectChoices(); // display them } function processOID_Cancel() { PopUpOID.style.display = "none"; AC_MIBSel.style.display = ""; } /* Process Click to Check or Uncheck an OID */ function procOIDCmpImgClick(CmpIm) { isx = CmpIm.id; if ( isx.charAt(0) != "o") return; var cx = isx.substring(7,isx.length); // Strip off index var CObj = document.all["oid_chk"+cx]; // Clicked Check box if ( CObj.checked == "1" ) { // if currently Checked, Uncheck CObj.src = "images/Unchecked.gif"; CObj.checked = "0"; // Set Unchecked MIBObjectCheckArr[parseInt(cx,10)] = "0"; } else { // otherwise Check CObj.src = "images/Checked.gif"; CObj.checked = "1"; // Set Checked MIBObjectCheckArr[parseInt(cx,10)] = "1"; } } function displayMIBObjectChoices() { var hFlag = false; AC_MIBSel.innerHTML = ""; // clear for ( var i=1; i<MIBObjectArr.length-1; i++ ) { if ( MIBObjectCheckArr[i] == "1" ) { // if Chosen if ( !hFlag ) { addElementToSelect(AC_MIBSel,"List of SNMP Objects for this server/device..."); addElementToSelect(AC_MIBSel,"___________________________________"); hFlag = true; } addElementToSelect(AC_MIBSel,MIBObjectArr[i]); } } } function createMIBObjectArray() { var gOIDstrg = ""; // reset // Find & create array of selected OID for ( var i=1; i<MIBObjectArr.length-1; i++ ) { if ( MIBObjectCheckArr[i] == "1" ) { // if Chosen gOIDstrg += MIBObjectArr[i]+";!"; } } return gOIDstrg; } function processWMButton() { ServiceSelect.style.visibility = "hidden"; AC_MIBSel.style.visibility="hidden"; WM_Data.innerHTML = ""; PopUpWatchMember.style.display = ""; var cid = AC_StoreArr[(CurSelectIdx*ComputerRecLength)+7]; // Computer ID RpmCC_AC.NetStatFunction("GetWatchMembers~"+cid); SetCursor("wait"); top.banner.processStartComm(); } var WatchTypeString = new Array("","CounterWatch","EventLogWatch","WinServiceWatch", "FileWatch","SNMPTrapWatch","SYSLOGWatch","ServerWatch","ProcessWatch"); var WatchTypeImage = new Array("","Objects","sEventViewer","WinServices", "NewImg","SNMPTrapDisplaySm","SyslogDisplaySm","sAdminServers","ProcessWatch"); var WatchCheckArr = new Array(); var WatchOStatArr = new Array(); var WatchAGIDArr = new Array(); var WatchSWArr = new Array(); var WatchTypeArr = new Array(); function processWMList(csArg) { var wrkarr = new Array(); var CCEs = ""; var warr = new Array(); var parr = new Array(); var darr = new Array(); var WatchCount = 0; WatchCheckArr.length = 0; WatchOStatArr.length = 0; WatchAGIDArr.length = 0; WatchSWArr.length = 0; WatchTypeArr.length = 0; WM_Data.innerHTML = ""; wrkarr = csArg.split("~-~"); for ( var i=1; i<wrkarr.length; i++ ) { warr.length = 0; warr = wrkarr[i].split("~+~"); warr.sort(); parr = warr[warr.length-1].split("{"); var WatchType = parseInt(parr[1],10); CCEs += "<br><table border='0' cellpadding='1' cellSpacing='0' width='580'><tr>"; CCEs += "<td width='10'></td><td width='11' align='center'><img src='images/" + WatchTypeImage[ WatchType ] +".gif' align='absmiddle' height='16' width='16'></td>"; CCEs += "<td width='*' class='optextb'>" + WatchTypeString[ WatchType ] +"<br></td>"; CCEs += "</tr></table>"; for ( var j=1; j<warr.length-1; j++ ) { parr.length = 0; parr = warr[j].split("~"); WatchCheckArr[WatchCount] = parr[4]; // Save current checked/member status WatchOStatArr[WatchCount] = parr[4]; WatchAGIDArr[WatchCount] = parr[3]; // AGID WatchSWArr[WatchCount] = parr[5]; // ServerWatch type if applicable WatchTypeArr[WatchCount] = WatchType; CCEs += "<table border='0' cellpadding='1' cellSpacing='0' width='580'><tr>"; CCEs += "<td width='10'></td><td width='11' align='center'><img id='wm_chk"+WatchCount+"'"; if ( parr[4] == "1" ) { CCEs += "' checked='1' src='images/Checked.gif'"; } else { CCEs += "' checked='0' src='images/Unchecked.gif'"; } darr = parr[2].split("[]"); CCEs += "style='cursor:hand' onclick='procWMImgClick(this)' width='9' height='9'></td>"; CCEs += "<td width='*' id='wm_nme"+WatchCount+"' "; CCEs += "style='cursor:hand' onclick='procWMImgClick(this)' class='optext'> "; CCEs += parr[1]; if ( darr[0] != "" ) { CCEs += " ( " +darr[0] +" )"; } CCEs += "</td>"; CCEs += "</tr></table>"; ++WatchCount; } } CCEs += "<br>"; WM_Data.style.overflow = "scroll"; WM_Data.insertAdjacentHTML("beforeEnd",CCEs); SetCursor("auto"); top.banner.processStopCommX(); } function processWM_Save() { var cid = AC_StoreArr[(CurSelectIdx*ComputerRecLength)+7]; // Computer ID var WArg = "", cfm=""; var ConfirmMsg = "Make the following Watch/Alert changes for '"+AC_StoreArr[(CurSelectIdx*ComputerRecLength)+0]+"':\n"; for ( var i=0; i < WatchCheckArr.length; i++ ) { if ( WatchCheckArr[i] != WatchOStatArr[i] ) { // Status has changed WArg += "~" + WatchAGIDArr[i]; WArg += "~" + WatchCheckArr[i]; WArg += "~" + WatchTypeArr[i]; WArg += "~" + WatchSWArr[i]; var NObj = document.all["wm_nme"+i]; // Name if ( WatchCheckArr[i] == "1" ) { cfm = "-Add to '"+NObj.innerText+" '\n"; } else { cfm = "-Remove from '"+NObj.innerText+" '\n"; } ConfirmMsg += cfm; } } if ( WArg != "" ) { if ( !confirm(ConfirmMsg) ) { return; } else { RpmCC_AC.NetStatFunction("SetWatchMembers~"+cid+WArg); } } else { alert("No Watch/Alert changes made, so nothing to Save!"); } ServiceSelect.style.visibility = "visible"; AC_MIBSel.style.visibility="visible"; PopUpWatchMember.style.display = "none"; if ( AC_NameSel.style.visibility != "hidden" ) { AC_NameSel.focus(); } } function processWM_Cancel() { ServiceSelect.style.visibility = "visible"; AC_MIBSel.style.visibility="visible"; PopUpWatchMember.style.display = "none"; if ( AC_NameSel.style.visibility != "hidden" ) { AC_NameSel.focus(); } } /* Process Click to Check or Uncheck an OID */ function procWMImgClick(CmpIm) { isx = CmpIm.id; if ( isx.charAt(0) != "w") return; var cx = isx.substring(6,isx.length); // Strip off index var indx = parseInt(cx,10); var CObj = document.all["wm_chk"+cx]; // Clicked Check box if ( CObj.checked == "1" ) { // if currently Checked, Uncheck CObj.src = "images/Unchecked.gif"; CObj.checked = "0"; // Set Unchecked WatchCheckArr[indx] = "0"; } else { // otherwise Check if ( WatchSWArr[indx] != "0") { for ( var i=0; i<WatchSWArr.length; i++ ) { if ( i == indx ) continue; if ( WatchSWArr[i] == WatchSWArr[indx] && WatchCheckArr[i] == "1" ) { var NObj = document.all["wm_nme"+i]; // Name alert("Member of only one Watch per IP Service type allowed for ServerWatch!\nCurrently member of '"+NObj.innerText+" '\n\nUncheck '"+NObj.innerText+" ' if you want a different Watch of this IP Service type"); return; // ignore } } } CObj.src = "images/Checked.gif"; CObj.checked = "1"; // Set Checked WatchCheckArr[indx] = "1"; } } //--------------------------------------------------------------------------------- // WMI Report Output function processHWInfoButton() { SetButtonState(HWInfoButton,"1"); ServiceSelect.style.visibility = "hidden"; AC_MIBSel.style.visibility="hidden"; AC_GroupSel.style.visibility = "hidden"; AC_ServerSel.style.visibility = "hidden"; AC_DomainNSel.style.visibility = "hidden"; WMIR_Data.innerHTML = ""; PopUpWMIReport.style.display = ""; var cid = AC_StoreArr[(CurSelectIdx*ComputerRecLength)+7]; // Computer ID RpmCC_AC.NetStatFunction("GetWMIConfigInfo~"+cid); WMIComputerCountTotal = 1; SetCursor("wait"); top.banner.processStartComm(); } function processWMIConfig(csArg) { var wrkarr = new Array(); wrkarr = csArg.split("~-~"); if ( wrkarr[1] == "Begin" ) { processWMIReportBegin(); } else if ( wrkarr[1] == "End" ) { WMIReportEndReceived = true; } else { processWMIReportData(csArg); } } function processWMIRepOKButton() { top.Rstatus.Pstat(""); ServiceSelect.style.visibility = "visible"; AC_MIBSel.style.visibility="visible"; AC_GroupSel.style.visibility = "visible"; AC_ServerSel.style.visibility = "visible"; AC_DomainNSel.style.visibility = "visible"; PopUpWMIReport.style.display = "none"; if ( AC_NameSel.style.visibility != "hidden" ) { AC_NameSel.focus(); } } var WRTid = null; var WMIROIx = 0; var WMIReportEndReceived = false; var WMIDetailsArr = new Array(); var WMIDetailsIx = 0; var WMIRCount = 0; var WMIPrevCID = ""; var WMIPrevObj = ""; var WMIComputerCountCurrent = 0; var WMIComputerCountTotal = 0; function processWMIReportBegin() { WMIDetailsArr.length = 0; WMIDetailsIx = 0; WMIRCount = 0; WMIROIx = 0; WMIReportEndReceived = false; WMIPrevObj = WMIPrevCID = ""; WMIComputerCountCurrent = 0; /* Format Details for output */ var sob = ""; sob += "<center><table border='1' cellpadding='0' cellSpacing='0' width='584'>"; sob += "<tr><td width='100%' colspan='2' align='center' style='background-color:activeborder' class='optextb'>"; sob += "Hardware Configuration Details Report" sob += "</td></tr></table></center>"; WMIR_Data.insertAdjacentHTML("beforeEnd",sob); WMIR_Data.style.overflow = "scroll"; WRTid = setTimeout("processWMIReportOutputThread()",100); } function processWMIReportData(csArg) { WMIDetailsArr[ WMIDetailsIx ] = csArg; WMIDetailsIx++ } function processWMIReportOutputThread() { WRTid = null; //reset while ( WMIROIx < WMIDetailsIx ) { processWMIReportOutput(WMIROIx); ++WMIROIx; } if ( WMIReportEndReceived == false ) { WRTid = setTimeout("processWMIReportOutputThread()",100); return; } SetCursor("auto"); top.banner.processStopCommX(); SetButtonState(HWInfoButton,"0"); SetButtonState(WMIRepOKButton,"0"); SetButtonState(WMIRepPrintButton,"0"); top.Rstatus.Pstat("Done",true); var sob = ""; sob += "<center><table border='0' cellpadding='0' cellSpacing='3' width='584'>"; sob += "<tr height='3'><td width='100%' class='optext'><hr size='2' style='color:c8c8c8'></td></tr></table>"; WMIR_Data.insertAdjacentHTML("beforeEnd",sob); if ( WMIDetailsIx == 0 ) { var amsg = "No Hardware Configuration data available.\n\n"; amsg += "Agent version 5.2.06 or greater is required on a server/workstation\n"; amsg += "in order to obtain its Hardware Configuration details.\n\n"; amsg += "On NT 4.0 servers, you may need to install the 'WMICore.exe'\n"; amsg += "to enable the WMI services. Go to 'wwww.microsoft.com/downloads'\n" amsg += "and search for 'WMICore.exe' for the download link.\n"; alert(amsg); } //WMIR_Data.style.overflow = (WMIR_Data.scrollHeight >= WMIR_Data.clientHeight) ? "scroll" : ""; } function processWMIReportOutput(windex) { var warr = new Array(); var parr = new Array(); var sob = ""; warr = WMIDetailsArr[windex].split("~-~"); parr = warr[1].split("[&]"); if ( parr[0] != WMIPrevCID ) { WMIPrevCID = parr[0]; ++WMIComputerCountCurrent; top.Rstatus.Pstat("One moment while Hardware Configuration Details are retrieved; Processing "+WMIComputerCountCurrent+" of "+WMIComputerCountTotal,true); if ( WMIComputerCountCurrent > 1 ) { sob += "<center><table border='0' cellpadding='0' cellSpacing='3' width='584'>"; sob += "<tr height='3'><td width='100%' class='optext'><hr size='2' style='color:c8c8c8'></td></tr></table>"; sob += "<center style='page-break-before: always'><table border='1' cellpadding='0' cellSpacing='0' width='584'>"; sob += "<tr><td width='100%' colspan='2' align='center' style='background-color:activeborder' class='optextb'>"; sob += "Hardware Configuration Details Report" sob += "</td></tr></table></center>"; } for (var k=0; k < AC_StoreArr.length; k+=ComputerRecLength) { if ( AC_StoreArr[k+7] == WMIPrevCID ) { break; } } if ( k < AC_StoreArr.length ) { sob += "<center><table border='0' cellpadding='0' cellSpacing='3' width='584'>"; sob += "<tr height='3'><td width='100%' class='optext'><hr size='2' style='color:c8c8c8'></td></tr></table>"; sob += "<center><table border='1' cellpadding='0' cellSpacing='0' width='584'>"; sob += "<tr style='background-color:c8c8c8'>"; sob += "<td style='border-width:0' width='60' align='left' class='optextn'> Name</td>" sob += "<td style='font-size:11pt; border-width:0' width='*' align='left' class='optext'>: " + AC_StoreArr[k] +"</td></tr>"; sob += "<tr style='background-color:c8c8c8'>"; sob += "<td style='border-width:0' width='60' align='left' class='optextn'> Descr</td>" sob += "<td style='font-size:11pt; border-width:0' width='*' align='left' class='optext'>: " + AC_StoreArr[k+2] +"</td></tr>"; sob += "<tr style='background-color:c8c8c8'>"; sob += "<td style='border-width:0' width='60' align='left' class='optextn'> Addr</td>" sob += "<td style='font-size:11pt; border-width:0' width='*' align='left' class='optext'>: " + AC_StoreArr[k+5] +"</td></tr>"; sob += "<tr style='background-color:c8c8c8'>"; sob += "<td style='border-width:0' width='60' align='left' class='optextn'> OS Ver</td>" sob += "<td style='font-size:11pt; border-width:0' width='*' align='left' class='optext'>: " + AC_StoreArr[k+4] +"</td></tr>"; sob += "<tr style='background-color:c8c8c8'>"; sob += "<td style='border-width:0' width='60' align='left' class='optextn'> Agent</td>" sob += "<td style='font-size:11pt; border-width:0' width='*' align='left' class='optext'>: " + AC_StoreArr[k+9] +"</td></tr>"; sob += "</table></center>"; } } if ( parr[1] != WMIPrevObj ) { WMIPrevObj = parr[1]; sob += "<center><table border='0' cellpadding='0' cellSpacing='3' width='584'>"; sob += "<tr height='3'><td width='100%' class='optext'><hr size='2' style='color:c8c8c8'></td></tr></table>"; } sob += "<center><table border='0' cellpadding='0' cellSpacing='3' width='584'>"; sob += "<tr><td width='100%' class='optextb' style='background-color:c8c8c8'>"+parr[1]+"</td></tr></table>"; var bgColor var oarr = new Array(); var darr = new Array(); oarr = parr[2].split("[+]"); sob += "<center><table border='0' cellpadding='0' cellSpacing='3' width='584'>"; for ( var i=0; i<oarr.length; i++ ) { darr.length = 0; darr = oarr[i].split("[-]"); bgColor = ( ++WMIRCount % 2 == 0 ) ? "e0e0e0" : "white"; sob += "<tr style='background-color:"+bgColor+"' >"; sob += "<td width='25%' align='left' class='optext'>"+darr[0]+"</td>"; sob += "<td width='*' align='left' class='optext'>" + darr[1] +"</td></tr>"; } sob += "</table>"; WMIR_Data.insertAdjacentHTML("beforeEnd",sob); } function processPrintWMIReport() { if ( !top.banner.IE55orBetter ) { alert("Print requires IE 5.5/SP1 or greater. Download current, free IE update from Microsoft's web site"); return; } var DiscStatWindow = null; FakeBut.click(); // simulate event to call "savePageCoord(...)" var wprop = "height="+top.banner.bCh+",width="+top.banner.bCw; wprop += ",top="+(top.banner.bY-28)+",left="+(top.banner.bX-4)+",scrollbars"; var rName = ""+Math.random(); // use Random number to get unique Window name rName = rName.substring(2,rName.length); DiscStatWindow = window.open("",rName,wprop); if ( DiscStatWindow == null ) { return; } var dh = "<html><head><title>MonitorIT - Hardware Configuration Details Report</title>"; dh += "<link rel='stylesheet' type='text/css' href='css/Rpmstyle.css'>"; dh += "</head><body"; dh += " title='Exit to Close Window when Printing is complete'>"; dh += WMIR_Data.innerHTML; dh += "</body></html>"; DiscStatWindow.document.open(); DiscStatWindow.document.write(dh) DiscStatWindow.document.close(); DiscStatWindow.print(); } //-------------------------------------------------------------------------------------------------------